package com.lds.xiaohashu.user.biz.service;

import com.lds.framework.common.response.Response;
import com.lds.xiaohashu.user.biz.model.vo.UserUpdateInfoReqVO;
import com.lds.xiaohashu.user.dto.req.FindUserByPhoneReqDTO;
import com.lds.xiaohashu.user.dto.req.RegisterUserReqDTO;
import com.lds.xiaohashu.user.dto.req.UserPasswordUpdateReqDTO;
import com.lds.xiaohashu.user.dto.resp.FindUserByPhoneRspDTO;

/**
 * @program: xiaohashu
 * @description:
 * @author: lds
 * @create: 2024-11-18 09:25
 **/
public interface UserService {

    /**
     * 更新用户信息
     *
     * @param updateUserInfoReqVO
     * @return
     */
    Response<?> updateUserInfo(UserUpdateInfoReqVO updateUserInfoReqVO);

    /**
     * 用户注册
     *
     * @param registerUserReqDTO
     * @return
     */
    Response<Long> register(RegisterUserReqDTO registerUserReqDTO);

    /**
     * 根据手机号查询用户信息
     *
     * @param findUserByPhoneReqDTO
     * @return
     */
    Response<FindUserByPhoneRspDTO> findByPhone(FindUserByPhoneReqDTO findUserByPhoneReqDTO);


    /**
     * 更新密码
     *
     * @param updateUserPasswordReqDTO
     * @return
     */
    Response<?> updatePassword(UserPasswordUpdateReqDTO updateUserPasswordReqDTO);
}